package br.ufg.apkandroidufg.net;

import java.util.Arrays;
import java.util.List;

import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
import org.springframework.web.client.RestTemplate;

import br.ufg.apkwsentidades.Materia;
import br.ufg.apkwsentidades.Turma;

public class SolicitacoesHTTPClient {

	private static String IP_SERVIDOR = "192.168.1.100";

	private static String ENDERECO = "http://" + IP_SERVIDOR
			+ ":8080/apkws/rest";

	public static Integer login(String login, String senha) {

		String urlTemplate = ENDERECO + "/login?login=%s&senha=%s";
		String url = String.format(urlTemplate, login, senha);

		RestTemplate restTemplate = new RestTemplate();

		restTemplate.getMessageConverters().add(
				new MappingJackson2HttpMessageConverter());

		Integer usuarioId = restTemplate.getForObject(url, Integer.class);

		return usuarioId;
	}

	public static List<Materia> buscarMaterias(String pessoaId) {
		String urlTemplate = ENDERECO + "/materias?id=%s";
		String url = String.format(urlTemplate, pessoaId);

		RestTemplate restTemplate = new RestTemplate();

		restTemplate.getMessageConverters().add(
				new MappingJackson2HttpMessageConverter());

		Materia[] resposta = restTemplate.getForObject(url, Materia[].class);

		List<Materia> lista = Arrays.asList(resposta);

		return lista;
	}

	public static List<Turma> buscarTurmas(String pessoaId) {
		String urlTemplate = ENDERECO + "/turmas?id=%s";
		String url = String.format(urlTemplate, pessoaId);

		RestTemplate restTemplate = new RestTemplate();

		restTemplate.getMessageConverters().add(
				new MappingJackson2HttpMessageConverter());

		Turma[] resposta = restTemplate.getForObject(url, Turma[].class);

		List<Turma> lista = Arrays.asList(resposta);

		return lista;
	}
}
